home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / graphics / gle32h_2.zip / gle32 / graph.hlp < prev    next >
Text File  |  1994-07-28  |  75KB  |  2,292 lines

  1.  
  2. 1 GLE
  3.  
  4.   CGLE is a graphics package. A file of simple commands is used to 
  5.   draw a picture, for help on the editor and keyboard keys type
  6.   in EDIT, for help on drawing graphs type in GRAPH and for 
  7.   help on gle commands type in COM.
  8.  
  9.   To try out some of the examples:
  10.       Press F3 to load a file
  11.       Press F10 to draw the picture
  12.       Press ESC (or ^Z, or ^X) to get back to the GLE editor.
  13.  
  14. 2 Edit
  15.  
  16.    You are in a simple screen editor, use the arrow keys to edit the 
  17.    file and then press F2 to save the file and F10 to run gle and display
  18.    the graph. Use F9 to enter the MENU system for defining a graph.
  19.  
  20. The editor understands the following keys.
  21. ^K  followed by the letter B for begin block,
  22.                Y to cut the block or
  23.                P to paste a block which you have previously cut.
  24. ^Y  Deletes current line (PF4 on VAX)           
  25. ^U  Undeletes current line
  26. ^Z  (or ESC) To shift up a level and to exit
  27. ^C  Quit                        (^E Calls VAX EDT on the VAX)
  28. and the normal editing keys   
  29.           Delete,  Page up,  Page down
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.     If your terminal/PC lacks the normal function keys f1-f10
  38.     then you can use GOLD (f1 or pf1) followed by 
  39.         1 = Help
  40.         2 = Save
  41.         3 = Load
  42.         4 = Saveas
  43.         5 = Show Errors
  44.         9 = Graph Menu/Form
  45.         0 = Draw it  (or ^G)
  46.     ^Z = Exit from menu              (^S Shell to DOS)
  47.  
  48. 2 Graph
  49.  
  50.    A graph should start with BEGIN GRAPH and end with END GRAPH.
  51.    The data to be plotted are organised into datasets.
  52.    A dataset consists of a series of (X,Y) coordinates,
  53.    and has a name based on the letter "d" and a number between
  54.    1 and 99,
  55.  
  56.    eg. "d1 or d4"
  57.  
  58.    The  name  dn  can  be  used  to  define  a  default for all
  59.     datasets.  Many  graph commands described below start with d
  60.    n.  This  would  normally  be replaced by a specific dataset
  61.    number e.g.,
  62.  
  63.       d3 marker diamond
  64.  
  65.    Up to 99 datasets may be defined.
  66.  
  67.    For  each  xaxis  command  there  is  a corresponding yaxis,
  68.    y2axis  and  x2axis  command  for  setting  the top left and
  69.    right    hand   axes.  These  commands  are  not  explicitly
  70.    mentioned in the following descriptions.
  71.  
  72.    Note: Some of the help on graph refers to the graph form menu (f9)
  73.  
  74. 3 size
  75.  
  76.   Defines the size of the graph in cm.
  77.   This is the size of the outside box of a graph.
  78.  
  79.   eg. "size 27 18" is the normal size specified for an A4 landscape page.
  80.   That is 27cm wide and 18cm high.
  81.  
  82.   The actual size of the axes of the graph will be 70% of this.
  83.  
  84. 3 nobox
  85.  
  86.   This specifies whether the graph is enclosed in an outside frame, with
  87.   dimensions specified in your size command.
  88.  
  89. 3 data
  90. Specifies the name of a file to read data from.
  91. A data file named xx.dat for two datasets looks like this (*=missing value):
  92.  
  93.      1  2.7   3
  94.      2  5     *
  95.      3  7.8   7
  96.      4  9     4
  97.  
  98. A dataset consists of a series of (X,Y) coordinates, and has a name based on
  99. the letter "d" and a number between 1 and 99, eg. "d1 or d4"
  100.  
  101. Specify the names of datasets that should be filled with data from the file.
  102. eg. from the above file with 3 columns "data xx.dat d5 d6"
  103. Dataset d5 would then contain           and d6 would contain
  104.      1   2.7                          1   3
  105.      2   5                            2   *
  106.      3   7.8                          3   7
  107.      4   9                            4   4
  108.  
  109.  
  110.  
  111.  
  112. If your data file has missing values you will have gaps in the graph
  113. unless use the nomissing parameter.
  114.     ie. data xx.dat d6 nomissing
  115.  
  116. You may specify particular columns to read data from the file -
  117.     eg. "data xx.data d1=c4,c1"
  118.     This would produce a graph with x values from column 4 and y values
  119.     from column 1 (ie. the reverse of the default)
  120.  
  121. If your dataset is too large to fit in memory (on the PC) you can 
  122. specify a dataset to read it only when drawing it, in this way 
  123. CGLE can cope with any sized dataset. eg. (d3 lstyle 2 bigfile "a.dat" )
  124.  
  125. 3 position
  126.  
  127.    This sets the starting position for the graph.
  128.    This is most often used when you wish to have more than one graph
  129.    on a page.
  130.  
  131.    eg. "size 13.5  9"
  132.        "amove 0  9"
  133.  
  134.   This produces a graph in the top left corner of an A4 landscape page.
  135.  
  136. 3 fill
  137.  
  138.   Allows you to fill portions of the graph.
  139.   You can fill in several different ways.
  140.  
  141.     "fill x1,d1"            Between the xaxis and a dataset.
  142.  
  143.     "fill d1,x2"            Between a dataset and the x2axis.
  144.  
  145.     "fill d1,d2"            Between two datasets.
  146.  
  147.     "fill d1"               For a closed dataset (eg. a circle)
  148.  
  149.   The fill intensity is from grey0 (white) to grey100 (black) 
  150.   and steps of 10 in between.  
  151.      - eg.   "fill x1,d1 color grey10"     
  152.   Produces light grey shading between the xaxis and the dataset.
  153.  
  154.  
  155.  
  156.  
  157.   The filled area can also be clipped to a region using 
  158.   the xmin, xmax, ymin, ymax qualifiers.
  159.  
  160.      - eg.   "fill d1,d2 xmin 1 xmax 5 color blue"
  161.  
  162.   This sets the fill area between the 1 and the 5 values on the X axis.
  163.  
  164. 4 xmin 
  165.    Sets the minimum value for the fill (this acts as a clipping boundary)
  166.  
  167. 4 ymin 
  168.    Sets the minimum value for the fill (this acts as a clipping boundary)
  169.  
  170. 4 xmax 
  171.    Sets the maximum value for the fill (this acts as a clipping boundary)
  172.  
  173. 4 ymax 
  174.   Sets the maximum value for the fill (this acts as a clipping boundary)
  175.  
  176. 3 bigfile
  177.     See 
  178.     graph dn bigfile
  179.  
  180. 3 dn
  181.  
  182.   The two variations of the dataset command specify which datasets 
  183.   to apply the keyword settings to, 
  184.   eg. a specific dataset "d3" or all datasets "dn".
  185.   
  186.   The dn command line specifies that attributes are to be applied to all
  187.   datasets.
  188.  
  189.   eg. "dn smooth"
  190.  
  191.   The d1 to d7 command lines specify that attributes are to be applied to 
  192.   that specific dataset only.
  193.   
  194.   eg. "d3 lstyle 2 color blue"
  195.  
  196. 4 bigfile
  197.  
  198.     d2 bigfile "all.dat,1,2"
  199.  
  200.     The bigfile option allows a dataset to be read as it is drawn, 
  201.     (rather than being completely read into memory before it is 
  202.     drawn) this means that very large datasets can be drawn on a 
  203.     PC without running out of memory. The axis minimum and maximum 
  204.     must be specified (using the  command xaxis min max) unless
  205.     the AUTOSCALE option is used, e.g. 
  206.     d2 bigfile a.dat   autoscale
  207.  
  208.     By default the first two columns of the data file will
  209.     be read in, but other columns may be specified.
  210.     E.g., all.dat,3,2  would read x values from column 3 and y values 
  211.     from column 2.  Or, to read the 4th dataset, specify   
  212.     the file as all.dat,1,5
  213.  
  214.     If the x column is specified as '0' then GLE will generate the
  215.     x data points. E.g., 1,2,3,4,5...
  216.     
  217. 4 autoscale
  218.     This tells gle to pre-read a bigfile so that it can autoscale
  219.     the axes.  This may be much slower for a very large file but 
  220.     is the only option if you require auto-scaling.
  221.  
  222. 4 line
  223.  
  224.   This tells GLE to draw lines between the points of the dataset.  
  225.   By default GLE will not draw lines or markers
  226.   (You must specify one or other else you get a blank graph.)
  227.   If your dataset has missing values GLE will not draw 
  228.   a line to the next real value.
  229.   It just leaves a gap in the curve unless you specify nomissing in
  230.   the data command. (d3 line nomissing)
  231.  
  232.          eg.  "d3 line"
  233.  
  234. 4 lwidth
  235.  
  236.   Specifies the width of the line 
  237.   This is measured in cm
  238.   The default is .02 cm.
  239.  
  240.  
  241. 4 lstyle
  242.  
  243.   This specifies the line style for that dataset.
  244.   There are 9 predefined linestyles 
  245.       eg.  1=solid line, 2=dot's, 3=dashes etc... 
  246.  
  247.   Numbers greater than 9 are read from left to right 
  248.   with each digit being a length of black or white. 
  249.       eg. "d3 lstyle 1553"
  250.  
  251. 4 marker
  252.  
  253.  Specifies the marker to be used for the dataset.
  254.  There is a set of pre-defined markers (refer to Appendix A for examples)
  255.  which can be specified by name (NOT by number). 
  256.  Markers can also be a user defined subroutine.
  257.  
  258.        eg. "d2 marker circle" or "d1 marker triangle"
  259.  
  260.  Some of the markers have a prefix -
  261.  
  262.        Prefix              Meaning
  263.          f                 Solid coloured marker
  264.          o                 A circle around the marker
  265.          w                 The hollow marker hides the graph line
  266.        (none)              The graph line is drawn through the marker
  267.  
  268.  
  269.  
  270.  
  271.  
  272.    No.  Marker-Name             No.  Marker-Name
  273.  
  274.    1   circle                   15  dag
  275.    2   triangle                 16  ddag
  276.    3   square                   17  asterix
  277.    4   diamond                  18  oplus
  278.    5   fcircle                  19  ominus
  279.    6   ftriangle                20  otimes
  280.    7   fsquare                  21  odot
  281.    8   fdiamond                 22  trianglez
  282.    9   dot                      23  diamondz
  283.    10  cross                    24  wcircle
  284.    11  club                     25  wtriangle
  285.    12  heart                    26  wsquare
  286.    13  star                     27 wdiamond
  287.    14  snake
  288.  
  289. 4 msize
  290.  
  291.    Increases or decreases the size of the marker for the specified
  292.    dataset. The size is in cm.
  293.  
  294.     eg.  "d3 marker square msize .3"
  295.  
  296. 4 smooth
  297.  
  298.   This will make GLE draw a smoothed line through the points.  
  299.   You can now use markers and linestyles with the smooth command.
  300.  
  301. 4 smoothm
  302.  
  303.   Same as smooth option, but this allows a function which has
  304.   multiple y values for a single x value (e.g. a circle).
  305.  
  306. 4 xmin
  307.  
  308.   These commands map your dataset onto the graph's boundaries. 
  309.   Your data will be drawn as if the X axis was labelled from XMIN to XMAX
  310.   (regardless of how the axis is actually labelled).
  311.  
  312.   A point in your dataset at X=10 will appear on the left
  313.   edge of the graph with the given command.
  314.          
  315.            "d3 line xmin 10 xmax 50"
  316.  
  317. 4 ymin
  318.  
  319.  These commands map your dataset onto the graph's boundaries. 
  320.  Your data will be drawn as if the Y axis was labelled from YMIN to YMAX
  321.  (regardless of how the axis is actually labelled).
  322.  
  323.  A point in your dataset at Y=10 will appear on the bottom
  324.  of the graph with the given command.
  325.  
  326.           "d3 line ymin 10 ymax 50"
  327.  
  328. 4 xmax
  329.  
  330.  These commands map your dataset onto the graph's boundaries. 
  331.  Your data will be drawn as if the X axis was labelled from XMIN to XMAX
  332.  (regardless of how the axis is actually labelled).
  333.  A point in your dataset at X=50 will appear on the right
  334.  edge of the graph with the given command.
  335.  
  336.           "d3 line xmin 10 xmax 50"
  337.  
  338. 4 ymax
  339.  
  340.  These commands map your dataset onto the graph's boundaries. 
  341.  Your data will be drawn as if the Y axis was labelled from YMIN to YMAX
  342.  (regardless of how the axis is actually labelled).
  343.  
  344.  A point in your dataset at Y=50 will appear on the top
  345.  of the graph with the given command.
  346.         
  347.          "d3 line ymin 10 ymax 50"
  348.  
  349. 4 err
  350.  
  351.   For drawing error bars on a graph the error bars can be specified as
  352.        - an absolute value,
  353.           eg. "d3 err .1"
  354.  
  355.          a percentage of the y value
  356.          eg. "d3 err 10%"
  357.  
  358.          or as a dataset.
  359.          eg. "d3 err d4"
  360.          - The dataset d4 would contain data specifying the 
  361.            relative offset (NOT the absolute value) for the
  362.            error bars. 
  363.  
  364.   The up and the down error bars can be specified separately.
  365.          eg. "d3 errup 10% errdown d2 
  366.   
  367.   The width of the bar can be specified.     
  368.          eg. "d3 err d1 errwidth .2"
  369.  
  370.   There is an identical set of commands for drawing horizontal 
  371.   error bars:
  372.         herr, herrleft, herrright, herrwidth 
  373.  
  374. 4 errwidth
  375.  
  376.    Specifies the width of error bars.
  377.    Measured in cm.
  378.  
  379. 4 key
  380.  
  381.     Specifies a title for that dataset.
  382.     This will be used in an automatically generated KEY 
  383.     which will be positioned at the top-left of the graph by default.
  384.  
  385.     The key command can specify other features of the key
  386.      eg "key  pos <justify>   nobox   offset <exp> <exp>"
  387.  
  388.     There is a separate KEY module for more complex key's.
  389.  
  390.     Refer to chapter 4 of the manual for details.
  391.  
  392. 4 color
  393.  
  394.       Specifies the colour of the line used to draw that dataset.
  395.       Valid colours are black, white, red, green, blue,
  396.                 cyan, magenta, yellow.
  397.       and grey10, grey20 ... grey90
  398.       The colours are implemented as shades of grey for monochrome
  399.       postscript output.  eg grey10 = yellow
  400.  
  401. 3 let
  402.  
  403.   This command lets you generate a dataset.-
  404.  
  405.   Either from scratch,
  406.             eg. let d1=sin(x) from 1 to 20 step .4
  407.  
  408.   or as a function of another dataset,
  409.             eg. let d2=d1*3.
  410.  
  411.   When generating a dataset from scratch (ie not using another dataset
  412.   as a base) you MUST specify FROM nn TO nn STEP nn. (NOTE THE SPACING)
  413.  
  414.   eg.  let d1 = sin(x) from 1 to 10 step .2
  415.     let d2 = sqrt(d1)/3
  416.  
  417.  
  418.  
  419.  
  420.  
  421.     Maths Functions
  422.     The functions available which can be used with the Let
  423.     command are -
  424.  
  425.     Function              Returns
  426.     ABS(exp)              absolute value of exp
  427.     ATN(exp)              arctan
  428.     COS(exp)              cosine
  429.     EXP(exp)              exponent
  430.     FIX(exp)              exponent rounded toward 0
  431.     INT(exp)              integer
  432.     LOG(exp)              Log to the base e of exponent
  433.     LOG10(exp)            Log to the base 10 of exponent
  434.     SGN(exp)               1 if exponent is positive
  435.                   -1 if exponent is negative
  436.     SIN(exp)              sine of exponent
  437.     SQR(exp)              square of exponent
  438.     SQRT(exp)             square root of exponent
  439.  
  440. 3 bar
  441.   This is a subcommand of the normal graph module.
  442.   This allows you to mix line and bar graphs.
  443.   The bar command is flexible but quite complex.
  444.   Stacked, overlapped and grouped bars are possible.
  445.  
  446.   The simplest bar chart is drawn by the command - bar d1
  447.   Double bars are produced by - bar d1 d2
  448.  
  449.   To produce bars with no gaps between set the width and dist settings to
  450.   the same value. - bar d1 width .5 dist .5
  451.  
  452.   Overlapped bars are produced similarly. The width (of the bar) is set
  453.   greater than the dist (distance between the bars).
  454.   eg. - bar d1 d2 width 1 dist 1.75
  455.    
  456.   Stacked bars are produced by drawing a graph for a dataset with the
  457.   starting points at the values of another dataset.  
  458.     - eg.  bar d1 fill grey 90
  459.            bar d2 from d1 fill grey 20
  460.  
  461.  
  462.  
  463.    - or    bar d4 color black width 3
  464.        bar d1,d2,d3 from d4,d4,d4 color red green blue width 1 dist 1
  465.      Without the first bar command for d4 the other bars 
  466.      would appear floating in the air. The width and dist commands are 
  467.      needed to produce the stacked bars without gaps on a base of equal
  468.      size.
  469.  
  470.      3d Bar graphs can also be drawn, this doesn't show any more 
  471.      information, but it does look nice:
  472.  
  473.       bar d1    3d .5 .3    side red     top black
  474.     or 
  475.       bar d1,d2  3d .5 .3  side red,green   notop
  476.       bar d3,d4  3d .5 .3  side red,green   top black,white 
  477.  
  478.      Take note of commas!!!.
  479.  
  480. 4 3d
  481.  bar d1   3d xunits yunits
  482.     The 3d option tells GLE to draw bars with a side and top.  The
  483.     two measurements give the vector used for the receding edge of 
  484.     the bar.  They are normalized to the width of the bar.
  485.  
  486. 5 notop
  487.  bar d1   3d .5 .5  notop
  488.     Stops GLE from drawing the top of a 3d bar, this should be used
  489.     on the lower bar of a stacked bar graph.
  490.  
  491. 5 side
  492.  bar d1,d2   3d .5 .5    side blue,green
  493.     Specifies colours for the sides of the bars in the group.
  494.     
  495. 5 top
  496.  bar d1,d2   3d .5 .5    side blue,green  top red,yellow
  497.     Specifies colours for the tops of the bars in the group.
  498.  
  499. 4 dist
  500.  
  501. Specifies the distance between bars in this group. 
  502. The distance is measured from the left hand side of one bar
  503. to the left hand side of the next bar. 
  504. A distance of less than the width of a bar results in the bars overlapping. 
  505.  eg.
  506.       "bar d1,d2 dist .2"
  507.  
  508. 4 from
  509.  
  510. This sets the starting point of each bar.
  511. It is used for creating stacked bar charts.  
  512. Each layer of the bar chart is done with an additional bar command.
  513.   eg.
  514.      bar d1,d2 from d3,d4
  515.  
  516. 4 width
  517.  
  518. Sets the width of the bars.  eg. bar d1,d2 width .3 
  519.  
  520. 4 fill
  521.  
  522. Sets the density and colour for the inside of each bar.
  523.  eg. "bar d1,d2 fill green,grey20"
  524.  
  525. 4 color
  526.  
  527.      Sets the colour of the outline box for each bar.
  528.       eg. "bar d1,d2 color green,grey20"
  529.  
  530.      Valid colours are black, white, red, green, blue,
  531.                 cyan, magenta, yellow.
  532.     and grey10,grey20 ... grey90
  533.      The colours are implemented as shades of grey for monochrome
  534.      postscript output.  
  535.        eg. grey10 = yellow
  536.  
  537. 3 xaxis
  538.      Axis commands allow you to control the appearance of graph axes.
  539.      A graph has two X axes (XAXIS, X2AXIS) and two Y axes (YAXIS, Y2AXIS).
  540.      The axis qualifiers that can be used are -
  541.     color, font, hei, lwidth
  542.     log, min, max, nofirst, nolast
  543.     nticks, dticks, dsubticks, grid
  544.  
  545.      On the Y axis the qualifier rotate can be specified.
  546.  By default the Yaxis is labelled -   s
  547.                       i
  548.                       x
  549.                       a
  550.  
  551.  With rotate the Yaxis is labelled -  a
  552.                       x
  553.                       i
  554.                       s
  555. 4 base
  556.  
  557.   This specifies a "rule of thumb" size in cm from which GLE
  558.   can guestimate good sizes for character height, tick length etc.
  559.  
  560. 4 hei
  561.  
  562.   Specifies the hei of the axis tick labelling in centimetres.
  563.  
  564.  
  565. 4 color
  566.  
  567.      Specifies the colour of the line used to draw that dataset.
  568.      Valid colours are black, white, red, green, blue,
  569.                 cyan, magenta, yellow.
  570.     and grey10,grey20 ... grey90
  571.      The colours are implemented as shades of grey for monochrome
  572.      postscript output. 
  573.       eg. grey10 = yellow
  574.  
  575. 4 font
  576.  
  577.    Specifies the font that will be used for labelling the axis.
  578.    Most fonts are available in standard, bold, italic, and bold/italic.
  579.    There are 3 families of fonts - ps (postscript), tex and pl. 
  580.  
  581.      Name      Description
  582.  
  583.     rm        Roman
  584.     rmb       Roman Bold
  585.     rmi       Roman Italic
  586.     ss        San Serif
  587.     ssb       San Serif Bold
  588.     ssi       San Serif Italic
  589.     tt        Typewriter
  590.  
  591.  
  592.  
  593.  
  594.  
  595.     psagb     AvanteGarde-Book
  596.     psbd      Bookman-demi
  597.     psc       Courier
  598.     psh       Helvetica
  599.     psncsb    New Century Schoolbook
  600.     pspr      Palatino Roman
  601.     pstr      Times Roman
  602.     pszcmi    ZapfChancery-MediumItalic
  603.  
  604.     texcmb    Computer Modern Bold
  605.     texcmr    Computer Modern Roman
  606.     texcmsy   Computer Modern Symbols
  607.     
  608.     plcc      Complex Cartographic
  609.     plge      Gothic English
  610.     plsg      Simple German
  611.     plsym1    Symbols 1
  612.     plsym2    Symbols 2
  613.     plba      Block Ascii
  614.  
  615.    
  616.    Refer to Appendix A.2 in the manual for a full listing of
  617.    the fonts.
  618.  
  619. 4 grid
  620.  
  621.   This will draw lines between the x and x2axes or the y and y2 axes.
  622.   For a full grid turn the grid on for both axes.
  623.   
  624. 4 scale
  625.  
  626.   Scales the height of the axis tick labelling.
  627.   This means that if you enlarge the graph the lettering
  628.   will enlarge automatically.  Whereas if you specify a HEI 
  629.   it will be an absolute size
  630.  
  631. 4 lwidth
  632.  
  633. Sets the width of the lines used to draw the axis and the ticks.
  634.  
  635.  
  636.      This is measured in cm
  637.      The default is .02cm
  638.  
  639. 4 log
  640.  
  641. Specifies labels should be done in logarithmic style,
  642. and that scaling of data should also be done logarithmically.
  643.  
  644. (warning: correctly speaking a long straight lines should
  645.  become curved but will not unless you use the SMOOTH option)
  646.  
  647. 4 min
  648.  
  649. Sets the minimum values on the xaxis.
  650. This will determine both
  651.            the labelling of the axis
  652.            and the default mapping of data onto the graph.
  653.  
  654.        (for x2axis and y2axis the mapping of data onto the graph
  655.     is not affected. To change the mapping of data on to the 
  656.     graph use the Dn XMIN XMAX YMIN YMAX settings
  657.     which control the portion of the data to be mapped for 
  658.     a specific dataset.)
  659.  
  660. 4 max
  661.  
  662. Sets the maximum values on the xaxis.
  663. This will determine both
  664.         the labelling of the axis
  665.         and the default mapping of data onto the graph. 
  666.  
  667.  
  668.        (for x2axis and y2axis the mapping of data onto the graph
  669.     is not affected. To change the mapping of data on to the 
  670.     graph use the Dn XMIN XMAX YMIN YMAX settings
  671.     which control the portion of the data to be mapped for 
  672.     a specific dataset.)
  673.  
  674.  
  675. 4 nofirst
  676.  
  677. This switch removes the first labels from the graph. (the first label
  678. is often too close to the yaxis first label)
  679.  
  680. 4 nolast
  681.  
  682. This switch removes the last labels from the graph. (the last label is
  683. often too close to the yaxis first label)
  684.  
  685. 4 nticks
  686.  
  687. Sets the number of major ticks for that axis.
  688.  
  689. 4 dticks
  690.  
  691. Sets the distance between major ticks on that axis.
  692.  
  693. 4 nsubticks
  694.  
  695. Sets the number of minor ticks for that axis.
  696.  
  697. 4 dsubticks
  698.  
  699. Sets the distance between minor ticks on that axis.
  700.  
  701. 4 off
  702.  
  703. Turns on or off the whole axis.  Labels, ticks, subticks and line.
  704. If you turn x2axis off then the title of the graph will dissappear
  705. as it is part of the axis,  the only way to get a title with
  706. no axis is to turn the individual parts of the axis off, e.g:
  707.  
  708.     x2ticks off
  709.     x2side off      
  710.     x2labels off
  711.  
  712. 3 xnames
  713.  
  714.   This command allows you to replace the numeric labelling 
  715.   with absolutely anything.  To label data taken from Monday to 
  716.   Friday, use the command -
  717.  
  718.        xaxis min 0 max 6 dticks 1
  719.        xnames "" "Mon" "Tue" "Wed" "Thu" "Fri"  ""
  720.  
  721.     Note it is essential to define a specific axis minimum,
  722.     maximum, dticks, etc., 
  723.     otherwise the labels may not correspond to your data 
  724.     (eg. gle could decide to start at x=1)
  725.  
  726. 3 xplaces
  727.  
  728.   This is similar to the xnames command but it specifies a list 
  729.   of points which will be labelled on the axis.
  730.  
  731.     - eg. xlabels font rm hei .2 color blue
  732.       xplaces 2 4 6 8 
  733.  
  734.   It maybe used in conjunction with the xnames command to specify
  735.   the labels and their position. An example with days of the week 
  736.   could be done like this
  737.          xaxis min 0 max 6 dticks 1
  738.          xlabels font rm hei .2 color blue
  739.          xplaces 1 3 5 
  740.          xnames "Mon" "Wed" "Fri"
  741.  
  742.   This command is usually used when you want labelling that 
  743.   isn't spaced equally.
  744.  
  745. 3 y2places
  746.  
  747. This is similar to the y2names command but it specifies a list 
  748. of points which should be labelled.
  749. The example with days of the week could be done like this
  750.  
  751.      y2places 1  3  5 ynames "Mon" "Wed" "Fri"
  752.  
  753. This command is usually used when you want labelling that isn't spaced
  754. equally.
  755.  
  756. 3 x2places
  757.  
  758.   This is similar to the x2names command but it specifies a list 
  759.   of points which will be labelled on the axis.
  760.  
  761.     - eg. x2labels font rm hei .2 color blue
  762.       x2places 2 4 6 8 
  763.  
  764.   It maybe used in conjunction with the x2names command to specify
  765.   the labels and their position. An example with days of the week 
  766.   could be done like this
  767.          x2axis min 0 max 6 dticks 1
  768.          x2labels font rm hei .2 color blue
  769.          x2places 1 3 5 
  770.          x2names "Mon" "Wed" "Fri"
  771.  
  772.   This command is usually used when you want labelling that 
  773.   isn't spaced equally.
  774.  
  775. 3 yplaces
  776.  
  777. This is similar to the ynames command but it specifies a list 
  778. of points which should be labelled.
  779. The example with days of the week could be done like this
  780.  
  781.      yplaces 1  3  5 ynames "Mon" "Wed" "Fri"
  782.  
  783. This command is usually used when you want labelling that isn't spaced
  784. equally.
  785.  
  786.  
  787. 3 xtitle
  788.  
  789. This command gives the axis a centered title.  The list of optional keywords
  790. allow you to specify any features of it.
  791.        
  792.        eg. xtitle "X AXIS TITLE"
  793.        or. xtitle "X AXIS TITLE" lwidth .2  color blue  font rmb
  794.  
  795. 4 scale 
  796.     Scales the height of the title for that axis.
  797.  
  798. 4 hei 
  799.     Sets the height for that title in cm.
  800.  
  801. 4 dist
  802.     Sets the distance away from the axis to draw the title
  803.     Measured in cm.
  804.  
  805. 4 color  
  806.        Sets the colour to draw the title.
  807.        Valid colours are black, white, red, green, blue,
  808.                 cyan, magenta, yellow.
  809.  
  810.        The colours are implemented as shades of grey for monochrome
  811.        postscript output. 
  812.     eg. grey10 = yellow
  813.  
  814.  
  815.  
  816. 4 font
  817.  
  818.    Specifies the font that will be used for labelling the axis.
  819.    Most fonts are available in standard, bold, italic, and bold/italic.
  820.    There are 3 families of fonts - ps (postscript), tex and pl. 
  821.  
  822.      Name      Description
  823.  
  824.     rm        Roman
  825.     rmb       Roman Bold
  826.     rmi       Roman Italic
  827.     ss        San Serif
  828.     ssb       San Serif Bold
  829.     ssi       San Serif Italic
  830.     tt        Typewriter
  831.  
  832.  
  833.  
  834.  
  835.  
  836.     psagb     AvanteGarde-Book
  837.     psbd      Bookman-demi
  838.     psc       Courier
  839.     psh       Helvetica
  840.     psncsb    New Century Schoolbook
  841.     pspr      Palatino Roman
  842.     pstr      Times Roman
  843.     pszcmi    ZapfChancery-MediumItalic
  844.  
  845.     texcmb    Computer Modern Bold
  846.     texcmr    Computer Modern Roman
  847.     texcmsy   Computer Modern Symbols
  848.     
  849.     plcc      Complex Cartographic
  850.     plge      Gothic English
  851.     plsg      Simple German
  852.     plsym1    Symbols 1
  853.     plsym2    Symbols 2
  854.     plba      Block Ascii
  855.  
  856.    
  857.    Refer to Appendix A.2 in the manual for a full listing of
  858.    the fonts.
  859.  
  860. 3 gle
  861.  
  862. 4 loadgraph
  863.  
  864.   Need help already Eh?
  865.  
  866.    Select graph to edit an existing graph or
  867.    select create to make a new graph.
  868.  
  869.  
  870. 3 xlabels
  871.  
  872. 4 off 
  873.     This command controls whether the labelling on the axis
  874.     is turned on or off. 
  875.        
  876.     Used in conjunction with the subcommands you can control the
  877.     appearance of the labels.
  878.        
  879.     eg. xlabels dist .05 hei .3 font rm color blue
  880.  
  881. 4 dist 
  882.     Adds to the distance away from the axis that the labels are
  883.     drawn.  
  884.  
  885. 4 font 
  886.  
  887.    Specifies the font that will be used for labelling the axis.
  888.    Most fonts are available in standard, bold, italic, and bold/italic.
  889.    There are 3 families of fonts - ps (postscript), tex and pl. 
  890.  
  891.      Name      Description
  892.  
  893.     rm        Roman
  894.     rmb       Roman Bold
  895.     rmi       Roman Italic
  896.     ss        San Serif
  897.     ssb       San Serif Bold
  898.     ssi       San Serif Italic
  899.     tt        Typewriter
  900.  
  901.  
  902.  
  903.  
  904.  
  905.     psagb     AvanteGarde-Book
  906.     psbd      Bookman-demi
  907.     psc       Courier
  908.     psh       Helvetica
  909.     psncsb    New Century Schoolbook
  910.     pspr      Palatino Roman
  911.     pstr      Times Roman
  912.     pszcmi    ZapfChancery-MediumItalic
  913.  
  914.     texcmb    Computer Modern Bold
  915.     texcmr    Computer Modern Roman
  916.     texcmsy   Computer Modern Symbols
  917.     
  918.     plcc      Complex Cartographic
  919.     plge      Gothic English
  920.     plsg      Simple German
  921.     plsym1    Symbols 1
  922.     plsym2    Symbols 2
  923.     plba      Block Ascii
  924.  
  925.    
  926.    Refer to Appendix A.2 in the manual for a full listing of
  927.    the fonts.
  928.  
  929.  
  930. 4 hei 
  931.     Sets the height of the major tick labels.
  932.     This is measured in cm.
  933.  
  934. 4 color 
  935.     Sets the colour of the major tick labels.
  936.     Valid colours are black, white, red, green, blue,
  937.                 cyan, magenta, yellow.
  938.  
  939.     The colours are implemented as shades of grey for monochrome
  940.     postscript output. 
  941.     eg. grey10 = yellow
  942.   
  943. 3 xside   
  944.      Sets features of the axis line itself
  945.        (colour, line width, on/off)  
  946.  
  947. 4 lwidth 
  948.      Sets the line width of the axis line.
  949.          This is measured in cm.
  950.          The default is .02 cm.
  951.  
  952. 4 off 
  953.         Turns off the axis line.
  954.  
  955. 4 color  
  956.        Sets the colour of that side.
  957.        Valid colours are black, white, red, green, blue,
  958.                 cyan, magenta, yellow.
  959.  
  960.        The colours are implemented as shades of grey for monochrome
  961.        postscript output.  
  962.     eg. grey10 = yellow
  963.  
  964.  
  965. 4 lwidth  
  966.         Sets the width of the line for that side.
  967.          This is measured in cm
  968.          The default is .02 cm.
  969.  
  970. 3 xticks 
  971.        Sets features to control the appearance of the major ticks.
  972.        (line style, line width, length, on/off) 
  973.        eg. xticks lwidth .01 length .1 lstyle 2
  974.  
  975. 4 scale 
  976.       Scales the length of the major ticks
  977.  
  978. 4 length 
  979.       Sets the length of the major ticks in cm.
  980.  
  981. 4 lwidth  
  982.        Sets the line width of the major ticks.
  983.          This is measured in cm
  984.          The default is .02 cm.
  985.  
  986. 4 color 
  987.       Sets the colour of the major ticks
  988.       Valid colours are black, white, red, green, blue,
  989.                 cyan, magenta, yellow.
  990.       
  991.       The colours are implemented as shades of grey for monochrome
  992.       postscript output. 
  993.         eg. grey10 = yellow
  994.  
  995.  
  996. 3 xsubticks
  997.        Sets features to control the appearance of the minor ticks.
  998.        (line style, line width, length, colour, on/off) 
  999.  
  1000. 4 scale 
  1001.        Scales the length of the minor ticks
  1002.  
  1003. 4 length 
  1004.        Sets the length of the minor ticks in cm.
  1005.  
  1006. 4 lwidth 
  1007.      Sets the line width of the minor ticks.
  1008.          This is measured in cm
  1009.          The default is .02 cm.
  1010.  
  1011. 4 color      
  1012.       Sets the colour of the minor ticks
  1013.       Valid colours are black, white, red, green, blue,
  1014.                 cyan, magenta, yellow.
  1015.       The colours are implemented as shades of grey for monochrome
  1016.       postscript output. 
  1017.         eg. grey10 = yellow
  1018.  
  1019.  
  1020. 3 xtra
  1021.     This is the place to put EXTRA gle commands, that is any gle graph
  1022.     command which you can't find an entry cell for.
  1023.  
  1024.        For detailed control of each axis display there are further commands. 
  1025.        xside  -color, lwidth, off
  1026.        xticks -lstyle, lwidth, length, off
  1027.        xsubticks -lstyle, lwidth, length, off
  1028.     eg.
  1029.       xside lwidth .05
  1030.       indicates the line width of the xaxis (only) is to be changed.
  1031.       ie. Not the ticks and associated xaxis parameters
  1032.  
  1033.     or.
  1034.       xticks length .1 width .01
  1035.       for control of the xticks display.
  1036.  
  1037.        These subcommands can be applied to the xaxis, yaxis, x2axis or y2axis.
  1038.  
  1039.   This is also where gle will put any gle graph commands that it found
  1040.   in your file that it couldn't understand.
  1041.  
  1042. 2 Keyboard 
  1043.     (see    commands begin key, for help on the key module)
  1044.      Keyboard Mappings:
  1045.  
  1046.      VT100              VT200           PC              Meaning 
  1047.      GOLD 1             F11             F1              Help 
  1048.      GOLD 2             F12             F2              Save 
  1049.      GOLD 3             F13             F3              Load 
  1050.      GOLD 4             F14             F4              Save-as 
  1051.      GOLD 9             F9              F9              Graph-menu 
  1052.      GOLD 0             F10             F10             Draw-it 
  1053.      Control+Z          Control+Z       Control+Z       Exit/Escape 
  1054.                     Alt+X           Exit/Escape 
  1055.      Control+E          Control+E                       Calls VAX EDT 
  1056.      Control+F          Control+F                       Toggle fast/slow text 
  1057.      Control+R          Control+R       F5              Shows errors 
  1058.                     Control+S       Shells to DOS 
  1059.  
  1060.      Supported  devices:  VT100,  REGIS  (VT125, VT240), TEK4010,
  1061.      VWS, XWindows.
  1062.  
  1063.      Supported  output:  PostScript, HPGL, Epson, Epson 24pin, HP
  1064.      Deskjet Paintjet.
  1065.  
  1066. 2 Beginners
  1067.  Drawing a Line on a Page
  1068.  ------------------------
  1069.      Let's  start  with  drawing  a  line on the page. GLE has to
  1070.      know  what size piece of paper you are working with. You can
  1071.      tell it by giving a size command:
  1072.  
  1073.       size 18 27
  1074.  
  1075.      This  specifies  a  piece  of paper 18cm wide and 27cm high.
  1076.      Now  you  must define a current point by moving to somewhere
  1077.      on the page:
  1078.  
  1079.       amove 2 4       
  1080.  
  1081.      The  origin  (0,0)  is at the bottom left hand corner of the
  1082.      page.  Now  suppose  we  wish to draw a line from this point
  1083.      across 1 cm and up 2 cm:
  1084.  
  1085.       size 18 27
  1086.       amove 2 4
  1087.       rline 1 2
  1088.  
  1089.      That  was  a  relative  movement  as the x and y values were
  1090.      given  as distances from the current point, alternatively we
  1091.      could have used absolute coordinates:
  1092.  
  1093.       size 18 27
  1094.       amove 2 4
  1095.       aline 3 6               ! absolute. 
  1096.  
  1097.      Now  if  you  want  to  draw  some  text on this page at the
  1098.      current point you would use the text command:
  1099.  
  1100.       text Hi there
  1101.  
  1102.      So  we  have  now  constructed  an  entire  GLE  program  as
  1103.      follows, with the results illustrated below:
  1104.  
  1105.       size 12 8 box 
  1106.       amove 2 4
  1107.       rline 1 2
  1108.       text Hi there
  1109.  
  1110.  Drawing a Simple Graph
  1111.  ----------------------
  1112.      This  section will describe how to go about drawing a simple
  1113.      graph.
  1114.  
  1115.      The  following  data  points  are contained in a file called
  1116.      TUT.DAT
  1117.  
  1118.      x   y
  1119.      -----  (These top two lines do not appear in the file)
  1120.      1   2
  1121.      2   6
  1122.      3   2
  1123.      4   5
  1124.      5   9
  1125.  
  1126.      The  data is in two columns with white space separating each
  1127.      column  of  numbers.  The  following  commands  will  draw a
  1128.      simple line graph of the data.
  1129.  
  1130.      size 6 3 
  1131.      begin graph
  1132.         size 6 3 
  1133.         data tut.dat
  1134.         yaxis min 0 
  1135.         d1 line marker star msize .2
  1136.      end graph
  1137.  
  1138.      The  first  size  command  defines  the size of the piece of
  1139.      paper  which  may contain several graphs. The second defines
  1140.      the  size  of  this  particular graph. The actual graph axes
  1141.      are  by  default  0.7  of these dimensions. The ratio can be
  1142.      changed with the vscale and hscale commands.
  1143.  
  1144.      Without  the  "yaxis min 0" command the yaxis would start at
  1145.      2.0,  because  that is the minimum y value in the data. This
  1146.      makes the graph easier to interpret.
  1147.  
  1148.      Changing the above d1 command to:
  1149.  
  1150.      d1 line marker circle 
  1151.  
  1152.      will  mark  each data point with a circle instead of a star.
  1153.      See    appendix   A  for  a  list  of  other  marker  names.
  1154.  
  1155.      A  smooth  line  can  be  drawn  between  the data points by
  1156.      changing the d1 command to:
  1157.  
  1158.      d1 line marker circle smooth
  1159.  
  1160.      The  order  of  the  commands  is not important, except that
  1161.      circle    is  a  parameter  for  the  qualifier  marker  and
  1162.      therefore  must  come  straight after it. E.g.,  d1  [marker
  1163.      circle]  [line smooth]  [color blue]
  1164.  
  1165. 2 Commands
  1166.      A   GLE  command  is  a  sequence  of  keywords  and  values
  1167.      separated  by white space (one or more spaces or tabs). Each
  1168.      command  must  begin  on  a  new  line.  Keywords may not be
  1169.      abbreviated,  the  case  is not significant. All coordinates
  1170.      are  expressed in centimetres from the bottom left corner of
  1171.      the page.
  1172.  
  1173.      GLE  uses the concept of a current point which most commands
  1174.      use.  For  example,  the  command aline 2 3 will draw a line
  1175.      from    the    current   point  to  the  coordinates  (2,3).
  1176.  
  1177.      The  current  graphics  state  also  includes other settings
  1178.      like  line width, color, font, 2d transformation matrix. All
  1179.      of these can be set with various GLE commands.
  1180.  
  1181. 3 comment
  1182.     An "!" mark indicates  the  start  of  a comment. GLE ignores 
  1183.     everything from the exclamation point to the end of the line.
  1184.  
  1185. 3 at
  1186.    An "@" sign executes a subroutine.
  1187.    e.g.
  1188.     @mytree
  1189.  
  1190. 3 aline 
  1191.   aline x y [arrow start] [arrow end] [arrow both] 
  1192.      Draws  a  line  from  the  current  point  to  the  absolute
  1193.      coordinates  (x,y),  which  then  becomes  the  new  current
  1194.      point.  The  arrow qualifiers are optional, they draw arrows
  1195.      at  the  start  or end of the line, the size of the arrow is
  1196.      proportional to the current font height.
  1197.  
  1198. 3 amove 
  1199.   amove x y
  1200.      Changes  the  current  point  to  the  absolute  coordinates
  1201.      (x,y).
  1202.  
  1203. 3 arc 
  1204.  arc radius a1 a2
  1205.      Draws  an  arc  of a circle in the anti-clockwise direction,
  1206.      centered  at  the  current point, of radius radius, starting
  1207.      at  angle a1 and finishing at angle a2. Angles are specified
  1208.      in  degrees.  Zero  degrees  is  at three o'clock and Ninety
  1209.      degrees is at twelve o'clock.
  1210.  
  1211.       arc 1.2 20 45
  1212.  
  1213.      The  command  narc  is  identical  but  draws the arc in the
  1214.      clockwise  direction.  This is important when constructing a
  1215.      path.
  1216.  
  1217. 3 arcto 
  1218.  arcto x1 y1 x2 y2 rad
  1219.      Draws  a  line  from  the  current  point to (x1,y1) then to
  1220.      (x2,y2)  but  fits  an  arc  of  radius  rad joining the two
  1221.      vectors    instead   of  a  vertex  at  the  point  (x1,y1).
  1222.  
  1223. 3  begin
  1224. 4  block_name ... end block_name
  1225.  begin block_name ... end block_name
  1226.      There  are  several  block  structured commands in GLE. Each
  1227.      begin  must  have  a  matching  end. Blocks which change the
  1228.      current  graphics  state (e.g. scale, rotate, clip etc) will
  1229.      restore  whatever  they  change  at  the  end  of the block.
  1230.      Indentation  is  optional but should be used to make the GLE
  1231.      program easier to read.
  1232.  
  1233. 4 box [fill pattern] [add gap] [nobox] [name xyz] 
  1234.  begin box [fill pattern] [add gap] [nobox] [name xyz] 
  1235.      Draws  a  box  around  everything  between begin box and end
  1236.      box.  The option add adds a margin of margin cm to each side
  1237.      of  the  box  to  make the box slightly larger than the area
  1238.      defined  by the graphics primitives in the begin box end box
  1239.      group  (to  leave a gap around text for example). The option
  1240.      nobox stops the box outline from being drawn.
  1241.  
  1242.      The  name  option saves the coordinates of the box for later
  1243.      use with the join command.
  1244.  
  1245. 4 clip 
  1246.  begin clip 
  1247.      This  saves  the  current clipping region. A clipping region
  1248.      is  an  arbitrary  path  made  from  lines  and curves which
  1249.      defines  the  area  on which drawing can occur. This is used
  1250.      to  undo  the  effect  of a clipping region defined with the
  1251.      begin  path  command. See the example CLIP.GLE in appendix B
  1252.      at the end of the manual.
  1253.  
  1254. 4 key
  1255.     Begin key
  1256.       position tr
  1257.       text "Green trees" marker heart fill grey 10 mscale 0.8
  1258.       text "Oranges" marker square lstyle 3 msize 0.5
  1259.     End key
  1260.     - This produces a key in the top right of the graph. The first dataset
  1261.       has the text Green trees with hearts as markers fill pattern of grey 10
  1262.       and the marker scaled to 80% of the graph markers. The second dataset
  1263.       also has the linestyle specified and the marker size is .5cm.
  1264.  
  1265.     - You can position the key with one of two commands.
  1266.     offset xcm ycm
  1267.     position tl | bl | tr | br
  1268.  
  1269.     Commands which can be used to specify aspects of the key are
  1270.     text, lstyle, marker, msize, mscale, color, fill.
  1271.  
  1272. 4 origin
  1273.  begin origin
  1274.      This  makes  the  current point the origin. This is good for
  1275.      subroutines    or  something  which  has  been  drawn  using
  1276.      amove, aline.  Everything  between  the  begin origin and end
  1277.      origin  can  be moved as one unit. The current point is also
  1278.      saved and restored.
  1279.  
  1280. 4 path 
  1281.  begin path [stroke] [fill pattern] [clip] 
  1282.      Initialises  the  drawing  of  a filled shape. All the lines
  1283.      and  curves  generated  until the next end path command will
  1284.      be  stored and then used to draw the shape. stroke draws the
  1285.      outline  of  the  shape, fill paints the inside of the shape
  1286.      in  the given colour and clip defines the shape as a clipping
  1287.      region  for  all  future  drawing. Clipping and filling will
  1288.      only work on PostScript devices.
  1289.  
  1290. 4 rotate 
  1291.  begin rotate angle
  1292.      The  coordinate  system  is rotated anti-clockwise about the
  1293.      current  point by the angle angle (in degrees). For example,
  1294.      to  draw a line of text running vertically up the page (as a
  1295.      Y axis label, say), type:
  1296.  
  1297. 4  scale
  1298.  begin scale x y
  1299.      Everything  between  the  begin  and  end  is  scaled by the
  1300.      factors  x  and  y.  E.g.,  scale 2 3 would make the picture
  1301.      twice as wide and three times higher.
  1302.  
  1303. 4 table
  1304.  begin table 
  1305.      This  module  is an alternative to the TEXT module. It reads
  1306.      the  spaces and tabs in the source file and aligns the words
  1307.      accordingly.  A single space between two words is treated as
  1308.      a real space, not an alignment space.
  1309.  
  1310.      With  a  proportionally  spaced font columns will line up on
  1311.      the  left  hand side but not on the right hand side. However
  1312.      with  a  fixed pitch font, like tt, everything will line up.
  1313.  
  1314. 4 text 
  1315.  begin text [width exp] 
  1316.      This  module displays multiple lines/paragraphs of text. The
  1317.      block  of text is justified according to the current justify
  1318.      setting.  See  the  set  just  command  for a description of
  1319.      justification settings.
  1320.  
  1321.      If  a  width  is specified the text is wrapped and justified
  1322.      to  the  given  width. If a width is not given, each line of
  1323.      text  is  drawn as it appears in the file. Remember that GLE
  1324.      treats  text  in  the  same  way that LaTeXdoes, so multiple
  1325.      spaces    are  ignored  and  some  characters  have  special
  1326.      meaning. E.g, \ ^ _ & { }
  1327.  
  1328.      To  include  Greek  characters  in  the middle of text use a
  1329.      backslash  followed  by  the  name  of the character. E.g., 
  1330.      3.3\Omega S would produce ``3.3OS''.
  1331.  
  1332.      To  put  a space between the Omega and the S add a backslash
  1333.      space  at  the  end. E.g.,  3.3\Omega\ S produces ``3.3O S''
  1334.  
  1335.      Sometimes  the  space  control characters (e.g. \:) are also
  1336.      ignored,  this  may  happen  at  the  beginning of a line of
  1337.      text.  In  this  case  use  the control sequence \glasswhich
  1338.      will  trick GLE into thinking it isn't at the beginning of a
  1339.      line. E.g.,
  1340.  
  1341.       text \glass \:\: Indented text
  1342.  
  1343.      There  are  several  LaTeXlike  commands  which  can be used
  1344.      within text, they are:
  1345.  
  1346.     ^{}                 Superscript
  1347.     _{}                 Subscript
  1348.     \\                  Forced Newline
  1349.     \_                  Underscore character
  1350.     \,                  .5em (em = width of the letter `m')
  1351.     \:                  1em space
  1352.     \;                  2em space
  1353.     \char{22}           Any character in current font
  1354.     \chardef{a}{hello}  Define a character as a macro
  1355.     \def\v{hello}       Defines a macro
  1356.     \movexy{2}{3}       Moves the current text point
  1357.     \glass              Makes move/space work on beginning of line
  1358.     \rule{2}{4}         Draws a filled in box, 2cm by 4cm
  1359.     \setfont{rmb}       Sets the current text font
  1360.     \sethei{.3}         Sets the font height (in cm)
  1361.     \setstretch{2}      Scales the quantity of glue between words
  1362.     \lineskip{.1}       Sets the default distance between lines of text
  1363.     \linegap{-1}        Sets the minimum required gap between lines 
  1364.  
  1365. 4 translate
  1366.  begin translate x y
  1367.      Everything  between  the  begin  and end is moved x units to
  1368.      the right and y units up.
  1369.  
  1370. 3 bezier
  1371.  bezier x1 y1 x2 y2 x3 y3
  1372.      Draws  a  Bezier cubic section from the current point to the
  1373.      point  (x3,y3)  with  Bezier  cubic  control  points  at the
  1374.      coordinates  (x1,y1)  and (x2,y2). For a full explanation of
  1375.      Bezier  curves see the PostScript Language Reference Manual.
  1376.  
  1377. 3 bigfile
  1378.  bigfile filename.gle
  1379.      This  command  reads  the  file one line at a time, compiles
  1380.      each  line and executes it. This means it can read any sized
  1381.      file.  However,  complex multi-line commands cannot be used.
  1382.      Subroutines   can  be  used  but  not  defined,  inside  the
  1383.      bigfile.  Note:  there  is  also  a  bigfile  option  in the
  1384.      graphing module for large datasets.
  1385.  
  1386. 3 box
  1387.  box x y [justify jtype] [fill color] [name xxx] [nobox] 
  1388.      Draws  a  box, of width x and height y, with its bottom left
  1389.      corner  at the current point. If the justify option is used,
  1390.      the  box will be positioned relative to the specified point.
  1391.      E.g.,  TL  = top left, CC = center center, BL = bottom left,
  1392.      CENTRE  = bottom centre, RIGHT = bottom right, LEFT = bottom
  1393.      left.  See  set  just  for  a  description  of justification
  1394.      settings.
  1395.  
  1396.      If  a  fill  pattern  is  specified, the box will be filled.
  1397.      Remember  that  white fill is different from no fill pattern
  1398.      -  white  fill  will erase anything that was inside the box.
  1399.  
  1400. 3 circle 
  1401.  circle radius [fill pattern] 
  1402.      Draws  a circle at the current point, with radius x.  If
  1403.      a  fill  pattern  is  specified  the  circle will be filled.
  1404.  
  1405. 3 closepath
  1406.  closepath 
  1407.      Joins  the  beginning  of a line to the end of a line i.e.,
  1408.      it does an aline to the end of the last amove.
  1409.  
  1410. 3 curve
  1411.  curve ix iy [ x1 y1 x y x y ... xn yn] ex ey 
  1412.      Draws  a  curve  starting  at  the current point and passing
  1413.      through  the  points  (x1,y1) (xn,yn), with an initial slope
  1414.      of  (ix,iy) to (x1,y1) and a final slope of (ex,ey). All the
  1415.      vectors  are  relative  movements  from  the  vector before.
  1416.  
  1417. 3 define
  1418.  define marker markername subroutine-name
  1419.      This  defines a new marker called markername which will call
  1420.      the  subroutine  subroutine-name  whenever  it  is  used. It
  1421.      passes  two  parameters,  the first is the requested size of
  1422.      the  marker  and  the  second  is  a  value from a secondary
  1423.      dataset  which  can  be  used  to vary size or rotation of a
  1424.      marker for each point plotted.
  1425.  
  1426. 3 for
  1427.  for var = exp1 to exp2 [step exp3] command [...] next var 
  1428.      The  for  ...  next  structure  lets  you  repeat a block of
  1429.      statements a number of times.
  1430.  
  1431.      GLE  sets  var  equal to exp1 and then repeats the following
  1432.      steps.
  1433.  
  1434.      If  var  is  greater than exp2 then GLE commands are skipped
  1435.      until the line after the next statement.
  1436.  
  1437.      The value exp3 is added to var.
  1438.  
  1439.      The  statements  between  the  for  and  next  statement are
  1440.      executed. itemize
  1441.  
  1442.      If  exp1 is greater than exp2 then the loop is not executed.
  1443.  
  1444. 3 fopen
  1445.  fopen "myfile.dat" chan-name  read|write
  1446.     Opens a data file for read or write and associates a channel name   
  1447.     with it, e.g.
  1448.  
  1449.         fopen "a.dat" inchan read
  1450.         fopen "b.dat" outchan write
  1451.         until feof(inchan)
  1452.             fread inchan x y z
  1453.             rline x y
  1454.             fwrite outchan "In reverse " z y x
  1455.             fwriteln outchan " Total " x+y+z
  1456.         next 
  1457.         fclose inchan
  1458.         fclose outchan
  1459.  
  1460. 3 fclose
  1461.  fclose chan-name
  1462.     Closes a channel which has been opened using fopen.
  1463.  
  1464. 3 fread
  1465.  fread chan-name variable-list
  1466.     Reads data from a file and places it in the variables.  e.g.
  1467.  
  1468.         fread inchan i j x y z
  1469.     
  1470.     freadln is identical except that after reading the variables it 
  1471.     will then skip an extra numbers on the end of the line.
  1472.  
  1473. 3 fwrite
  1474.  fwrite chan-name expression-list
  1475.     Writes the results of the string and numeric expressions 
  1476.     out to the channel which must have been opened using fopen.
  1477.     
  1478.     fwriteln prints a newline character after printing the 
  1479.     numbers.
  1480.  
  1481. 3 grestore
  1482.  grestore
  1483.      Restores  the  most  recently  saved graphics state. This is
  1484.      the  simplest  way  to  restore  complicated transformations
  1485.      such  as  rotations and translations. It must be paired with
  1486.      a previous gsave command.
  1487.  
  1488. 3 gsave
  1489.  gsave
  1490.      Saves  the  current  graphics  transformation matrix and the
  1491.      current point and the current colour, font etc.
  1492.  
  1493. 3 if
  1494.  if expression then command [...] else command [...] end if
  1495.      If  expression  evaluates  to true, then execution continues
  1496.      with  the statements up to the corresponding else, otherwise
  1497.      the statements following the else and up to the
  1498.      corresponding end if are executed.
  1499.  
  1500.       amove 3 3
  1501.       if xpos()=3 then
  1502.          text We are at x=3
  1503.       else
  1504.          text We are elsewhere
  1505.       end if
  1506.  
  1507.      Note: end if is not spelt endif.
  1508.  
  1509. 3 include 
  1510.  include filename
  1511.      The  commands  in  filename are read just as if they were in
  1512.      the  current GLE file. With a large include file GLE may run
  1513.      out  of  memory.  If  this  happens, use the bigfile command
  1514.      instead  of include. Note: there is also a bigfile option in
  1515.      the graphing module.
  1516.  
  1517. 3 join
  1518.  join object1.just sep object2.just 
  1519.      Draws  a line between two named objects. An object is simply
  1520.      a  point  or a box which was given a name when it was drawn.
  1521.  
  1522.      The  justify  qualifiers  are the standard GLE justification
  1523.      abbreviations  (e.g.  TL=top left, see set just for details)
  1524.  
  1525.      If  sep  is  written as -, a line is drawn between the named
  1526.      objects e.g.
  1527.  
  1528.       join fred.tr - mary.tl
  1529.  
  1530.      Arrow  heads  can  be  included  at both ends of the line by
  1531.      writing  sep  as  <->. Single arrow heads are produced by <-
  1532.      and  ->.  Note  that sep must be separated from object1.just
  1533.      and object2.just by white space.
  1534.  
  1535.      If  the justification qualifiers are omitted, a line will be
  1536.      drawn  between  the  centres  of the two objects (clipped at
  1537.      the  edges  of  the  rectangles  which  define the objects).
  1538.  
  1539.      See    Chapter    5  for  an  example  of  joining  objects.
  1540.  
  1541. 3 marker
  1542.  marker marker-name [ scale-factor] 
  1543.      Draws  marker  marker-name at the current point. The size of
  1544.      the  marker is proportional to the current font size, scaled
  1545.      by  the  value  of  scale-factor  if  present.  Markers  are
  1546.      referred  to  by  name,  eg.  square,  diamond, triangle and
  1547.      fcircle.  Markers  beginning  with  the letter f are usually
  1548.      filled  variants.  Markers  beginning with w are filled with
  1549.      white  so  lines  are  not visible through the marker. For a
  1550.      complete list of markers refer to Appendix A.1.
  1551.  
  1552. 3 defmarker
  1553.  defmarker mname fontname char_num scale dx dy 
  1554.     This command defines a new marker, from any font, it is 
  1555.     automatically centered but can be adjusted using dx,dy.
  1556.     e.g.
  1557.         defmarker hand pszd 43 1 0 0
  1558.  
  1559. 3 postscript
  1560.  postscript filename.eps width-exp height-exp 
  1561.      Includes    an  encapsulated  postscript  file  into  a  GLE
  1562.      picture,  the  postscript  picture will be scaled up or down
  1563.      to  fit  the  width given. On the screen you will just see a
  1564.      rectangle.
  1565.  
  1566.      Only  the width-exp is used to scale the picture so that the
  1567.      aspect  ratio  is  maintained.  The  height  is only used to
  1568.      display  a  rectangle  of  the  right  size  on  the screen.
  1569.  
  1570. 3 rbezier
  1571.  rbezier x1 y1 x2 y2 x3 y3
  1572.      This  command is identical to the BEZIER command except that
  1573.      the    points   are  all  relative  to  the  current  point.
  1574.  
  1575. 3 return
  1576.  return exp
  1577.      The  return  command  is used inside subroutines to return a
  1578.      value.
  1579.  
  1580. 3 reverse
  1581.  reverse 
  1582.      Reverses  the  direction  of  the current path. This is used
  1583.      when  filling  multiple  paths  in  order  that the Non-Zero
  1584.      Winding  Rule  will know which part of the path is `inside'.
  1585.  
  1586.      With  the  Non-Zero  Winding Rule an imaginary line is drawn
  1587.      through  the object. Every time a line of the object crosses
  1588.      it  from  left  to right, one is added to the counter; every
  1589.      time  a  line  of  the object crosses it from right to left,
  1590.      one  is  subtracted from the counter. Everywhere the counter
  1591.      is  non-zero is considered to be the `inside' of the drawing
  1592.      and is filled.
  1593.  
  1594. 3 rline
  1595.  rline x y [arrow end] [arrow start] [arrow both] 
  1596.      Draws  a  line  from  the  current  point  to  the  relative
  1597.      coordinates  (x,y), which then become the new current point.
  1598.      If  the current point is (5,5) then rline 3 -2 is equivalent
  1599.      to  aline  8  3.  The  optional qualifiers on the end of the
  1600.      command  will  draw  arrows at one or both ends of the line,
  1601.      the  size  of  the arrow head is proportional to the current
  1602.      font size.
  1603.  
  1604. 3 rmove
  1605.  rmove x y
  1606.      Changes  the current point to the relative coordinate (x,y).
  1607.      If  the current point is (5,5) then rmove 3 -2 is equivalent
  1608.      to amove 8 3.
  1609.  
  1610. 3 save
  1611.  save objectname 
  1612.      This  command  saves  a  point  for  later use with the join
  1613.      command.
  1614.  
  1615. 3 set 
  1616.  
  1617. 4 cap
  1618.  set cap butt | round | square
  1619.      Defines what happens at the end of a wide line.
  1620.  
  1621. 4 color
  1622.  set color col
  1623.      Sets  the  current  colour for all future drawing operations.
  1624.      There  are several pre-defined colours which can be specified
  1625.      by name.
  1626.  
  1627.      black,  white,  red,  green,  blue,  cyan,  magenta, yellow,
  1628.      grey10,  grey20  ...  grey90,  shade1  ... shade5, grid1 ...
  1629.      grid5
  1630.  
  1631.      It   is  also  possible  to  specify  a  grey  scale  as  an
  1632.      expression with 0.0 = black and 1.0 = white.
  1633.  
  1634. 4 dashlen
  1635.  set dashlen dashlen-exp
  1636.      Sets  the  length  of  the  smallest  dash used for the line
  1637.      styles.  This  command  MUST  come  before  the  set  lstyle
  1638.      command.  This  may  be  needed  when scaling a drawing by a
  1639.      large factor.
  1640.  
  1641. 4 font
  1642.  set font font-name
  1643.      Sets  the  current  font  to font-name. Valid font-names are
  1644.      listed in Appendix A.2.
  1645.  
  1646.      There    are  three  types  of  font:  PostScript,  LaTeXand
  1647.      Plotter.    They  will  all  work  on  any  device,  however
  1648.      LaTeXfonts  are  drawn  in  outline on a plotter, and so may
  1649.      not  look  very  nice.  PostScript fonts will be emulated by
  1650.      LaTeXfonts on non-PostScript printers.
  1651.  
  1652. 4 fontlwidth
  1653.  set fontlwidth line-width
  1654.      This  sets the width of lines to be used to draw the stroked
  1655.      (Plotter  fonts)  on  a PostScript printer. This has a great
  1656.      effect on their appearance.
  1657.  
  1658. 4 hei
  1659.  set hei character-size
  1660.      Sets  the height of text. For historical reasons, concerning
  1661.      lead  type  and  printing  conventions,  a  height  of  10cm
  1662.      actually  results  in  capital  letters  about  6.5cm  tall.
  1663.  
  1664. 4 join
  1665.  set join mitre | round | bevel 
  1666.      Defines  how  two  wide  lines will be joined together. With
  1667.      mitre,  the  outside  edges  of  the  join are extended to a
  1668.      point  and  then  chopped off at a certain distance from the
  1669.      intersection  of the two lines. With round, a curve is drawn
  1670.      between the outside edges.
  1671.  
  1672. 4 just
  1673.  set just left | center | right | tl | etc... 
  1674.  
  1675.      Sets    the  justification  which  will  be  used  for  text
  1676.      commands.
  1677.  
  1678. 4 lstyle
  1679.  set lstyle line-style
  1680.      Sets    the    current  line  style  to  line  style  number
  1681.      line-style.  There are 9 predefined line styles (1--9). When
  1682.      a  line  style  is  given with more than one digit the first
  1683.      digit  is  read  as  a run length in black, the second a run
  1684.      length  in  white,  the  third  a  run length in black, etc.
  1685.  
  1686. 4 lwidth
  1687.  set lwidth line-width
  1688.      Sets  the  width  of lines to line-width cm. A value of zero
  1689.      will  result  in  the  device default of about 0.02 cm, so a
  1690.      lwidth  of  .0001  gives a thinner line than an lwidth of 0.
  1691.  
  1692. 3 sub
  1693.  sub sub-name parameter1 parameter2 etc
  1694.      Defines  a  subroutine. The end of the subroutine is denoted
  1695.      with  end  sub.  Subroutines must be defined before they are
  1696.      used.
  1697.  
  1698.      Subroutines  can  be  called  inside any GLE expression, and
  1699.      can  also  return  values.  The  parameters  of a subroutine
  1700.      become    local    variables.   Subroutines  are  reentrant.
  1701.  
  1702.       sub tree x y a$
  1703.          amove x y
  1704.          rline 0 1
  1705.          write a$
  1706.          return x/y
  1707.       end sub
  1708.       @tree 2 4 "mytree"         (Normal call to subroutine)
  1709.       slope = tree(2,4,"mytree")  (Using subroutine in an expression)
  1710.  
  1711. 3 text
  1712.  text unquoted-text-string
  1713.      This  is  the simplest command for drawing text. The current
  1714.      point  is  unmodified  after  the text is drawn so following
  1715.      one  text  command  with  another  will result in the second
  1716.      line  of  text  being drawn on top of the first. To generate
  1717.      multiple  lines  of  text,  use  the  begin  text  end  text
  1718.      construct.
  1719.  
  1720.       text "Hi, how's tricks", said Jack!
  1721.  
  1722. 3 textdef
  1723.  textdef /def/mycmd{whatitshouldo}
  1724.     This allows macro's to be defined without being drawn
  1725.     (this get's past a bug with the def command)
  1726.  
  1727. 3 write
  1728.  write string$
  1729.      This  command  is  similar  to text except that it expects a
  1730.      quoted  string,  string  variable, or string expression as a
  1731.      parameter.
  1732.  
  1733.      The  built  in functions sqrt() and time$() are described in
  1734.      appendix A.3.
  1735.  
  1736. 3 expressions
  1737.      Wherever  GLE  is expecting a number it can be replaced with
  1738.      an expression. For example
  1739.  
  1740.       rline 3 2
  1741.  
  1742.      and
  1743.  
  1744.       rline 9/3 sqrt(4)
  1745.  
  1746.      will produce the same result.
  1747.  
  1748.      An  expression in GLE is delimited by white space, so it may
  1749.      not  contain  any  spaces  -  `  rline 3*3 2' is valid but `
  1750.      rline 3 * 3 2' will not work.
  1751.  
  1752.      Or  `  let  d2  =  3+sin(d1)'  will  work  and ` let d2= 3 +
  1753.      sin(d1) ' won't.
  1754.  
  1755.      Expressions  may  contain numbers, arithmetic operators ( +,
  1756.      -,  *,  /, ^(to the power of)), relational operators ( >, <,
  1757.      =>,  <=,  =, <>) boolean operators ( AND, OR), variables and
  1758.      built-in functions.
  1759.  
  1760.      When  GLE  is expecting a colour or marker name (like `green'
  1761.      or  `circle')  it  can  be  given  a  string variable, or an
  1762.      expression enclosed in braces).
  1763.  
  1764.      GLE  provides  a  large  number of built in functions, these
  1765.      are listed in Appendix A.3.
  1766.  
  1767. 3 functions
  1768.  xg(), yg()
  1769.      With  these  functions  it is possible to move to a position
  1770.      on  a  graph  using the graph's axis units. To draw a filled
  1771.      box  on  a  graph, at position x=948, y=.004 measured on the
  1772.      graph axis:
  1773.  
  1774.       begin graph
  1775.          xaxis min 100 max 2000
  1776.          yaxis min -.01 max .01
  1777.          ...
  1778.       end graph
  1779.       amove xg(948) yg(.004)
  1780.       box 2 2 fill grey10 
  1781.  
  1782.  xend(), yend()
  1783.      These  functions  return  the  end  point  of the last thing
  1784.      drawn.  This  is  of  particular interest when drawing text.
  1785.  
  1786.       text abc
  1787.       set color blue
  1788.       text def      
  1789.  
  1790.      This  would  draw the def on top of the abc. To draw the def
  1791.      immediately  following the abc simply do the following (Note
  1792.      that absolute move is used, not relative move):
  1793.  
  1794.  xpos(), ypos()
  1795.      Returns  the  current  x  and  y  points. 
  1796.  
  1797.  
  1798.  
  1799. 3 offset
  1800.  offset x-exp y-exp
  1801.      Specifies  the  offset  in  cm from the current point to the
  1802.      bottom  left  hand  corner of the graph. This command should
  1803.      be on a line of its own.
  1804.  
  1805. 3 position
  1806.  position justify-exp
  1807.      This  is an alternative to the OFFSET command. It allows you
  1808.      to  specify  a  position  on the graph, e.g., tl = top left.
  1809.      This  command  should  be on a line of its own. See set just
  1810.      for a list of justify settings.
  1811.  
  1812. 3 text
  1813.  text str-exp
  1814.      The  text  which  will  be displayed on the end of the line.
  1815.  
  1816. 3 lstyle
  1817.  lstyle style-num
  1818.      The  line  style which will be used for the short line drawn
  1819.      in the key.
  1820.  
  1821. 3 marker
  1822.  marker marker-name
  1823.      The  marker  which  will  be  used for that line of the key.
  1824.  
  1825.      See   GLE GRAPH MDATA for information on how to define a 
  1826.        subroutine as a marker.
  1827.  
  1828. 3 mdata
  1829.   This allows you to pass an extra parameter to a subroutine which
  1830.   has been defined as a marker.
  1831.  
  1832.   In this example boxes of different sizes would be drawn on 
  1833.   each point on the graph.  
  1834.     
  1835.     sub mark_sub1 mysize 
  1836.         gsave                           ! save font and x,y
  1837.         box mysize mysize justify cc 
  1838.         grestore                        ! restores font and x,y
  1839.     end sub
  1840.     define marker myname mark_sub1
  1841.         
  1842.     The second parameter is supplied using the MDATA command
  1843.     when drawing a graph,  this gives the marker subroutine a 
  1844.     value from another dataset to use to draw the marker.  For 
  1845.     example the marker could vary in size, or angle, with every
  1846.     one plotted.
  1847.         d3 MARKER myname MDATA d4
  1848.  
  1849. 3 msize
  1850.  msize exp
  1851.      Specifies the size of the markers in cm.
  1852.  
  1853. 3 mscale
  1854.  mscale exp
  1855.      Specifies  how  much  to scale the size of the marker. E.g.,
  1856.      0.5    would  produce  a  marker  half  as  big  as  normal.
  1857.  
  1858. 3 color
  1859.  color color-name
  1860.      The colour of the text, line and marker.
  1861.  
  1862. 3 hei
  1863.  hei cm-exp
  1864.      This  sets  the height of the text used to draw the key. The
  1865.      key  will change in size to fit around the text. If you omit
  1866.      this command the current font size is used.
  1867.  
  1868. 3 fill
  1869.  fill fill-pattern
  1870.      The fill pattern used in that line of the key.
  1871.  
  1872.  
  1873. 2 Color
  1874.      Internally  GLE  treats colour and fill identically, they are
  1875.      simply  an  intensity  of  Red,  Green and Blue. Each of the
  1876.      predefined  colour  names  (yellow,grey20,orange,red)  simply
  1877.      define the ratio of red, green and blue.
  1878.  
  1879.      There  are  two  ways to use variables to show colour, one is
  1880.      for shades of grey:
  1881.  
  1882.       for i = 0 to 10
  1883.          box 3 .2 fill (i/10)
  1884.          rmove 0 .2
  1885.       next i
  1886.  
  1887.      The  other  is  for  passing  a  colour  name  as a variable:
  1888.  
  1889.       sub stick c$
  1890.          box .2 2 fill c$
  1891.       end sub
  1892.       @stick "green"        
  1893.  
  1894.      Remember  a  fill pattern completely obscures what is behind
  1895.      it,  so  the  following  command  would produce a box with a
  1896.      shadow:
  1897.  
  1898.       amove 4 4 
  1899.       box 3 2 fill grey10
  1900.       rmove -.1 .1
  1901.       box 3 2 fill white
  1902.       rmove .4 .4
  1903.       text hello
  1904.  
  1905. 2 Devices
  1906.      GLE supports the following devices.
  1907.  
  1908.      Interactive:  IBM/PC  (BGI),  VT100,  REGIS  (VT125, VT240),
  1909.      TEK4010, VWS, XWindows.
  1910.  
  1911.      Output:  PostScript,  HPGL,  EPSON, EPSON 24pin, HP Deskjet.
  1912.  
  1913. 3 Screen
  1914.      Remember  that  what you see on the screen isn't always what
  1915.      you  will  get  on  the  printer. For example filled regions
  1916.      will  not be filled, and some characters may not look right.
  1917.  
  1918.      After   pressing  F10  and  drawing  the  graph  it  can  be
  1919.      annotated  by using the mouse (or arrow keys) to draw lines,
  1920.      text  and boxes. To draw lines simply click on the points of
  1921.      the  line,  use the right hand mouse button to `pick up' the
  1922.      pen.
  1923.  
  1924.      To  draw  text  press the letter `t' and then click on where
  1925.      you would like the text to be drawn.
  1926.  
  1927.      All  movements  are  rounded to the grid size settings which
  1928.      are 1.0cm, 0.1cm, 0.01cm etc.
  1929.  
  1930.      The  height and colour of the text/lines is determined by the
  1931.      current settings at the end of the GLE file.
  1932.  
  1933.      If  there  is  no mouse driver loaded then a cross-hair will
  1934.      appear  and  it  can  be  moved around using the arrow keys.
  1935.      Press    `c'    to  click,  instead  of  the  mouse  button.
  1936.  
  1937. 4 SuperVGA
  1938.     To use a SuperVGA card you first need to get a BGI 
  1939.     driver that supports your card.  From anonymous FTP 
  1940.     you can get svgabgi3.zip:
  1941.         ftp wuarchive.wustl.edu
  1942.         ftp> user anonymous
  1943.         ftp> (mail ident)
  1944.         ftp> cd /mirrors/msdos/borland
  1945.         ftp> binary
  1946.         ftp> get svgabgi3.zip
  1947.         ftp> quit
  1948.     
  1949.     Then unzip it, decide which driver will match your SVGA card
  1950.     and copy that driver into \GLE\EXE
  1951.  
  1952.         c:> pkunzip svgabgi3.zip
  1953.         c:> type readme.
  1954.         c:> copy svga16.bgi \gle\exe
  1955.  
  1956.     Define an environment variable to tell gle about this driver
  1957.     and which mode to use. (put this line in your autoexec.bat)
  1958.  
  1959.         c:> set gle_addbgi=4.svga16
  1960.  
  1961. 3  PostScript 
  1962.      To print a GLE file to the laser printer type:
  1963.  
  1964.       $ cgle myfile /print
  1965.  
  1966.      or on a PC:
  1967.  
  1968.       C:\GLE> psgle myfile   
  1969.       C:\GLE> print myfile.ps 
  1970.      
  1971.      or on Unix:
  1972.       gle myfile -dps       (normal)
  1973.       gle myfile -deps      (Encapsulated Postscript)
  1974.       gle myfile -dps -addd (Normal with ^D characters)
  1975.  
  1976.      The  postscript  drivers  for  GLE will automatically flip a
  1977.      picture  to  best  fit  onto the page, e.g. a wide graph (as
  1978.      defined  by  the  size  command at the top) will be drawn in
  1979.      landscape  mode  and  a  tall  thin  graph  will be drawn in
  1980.      portrait mode.
  1981.  
  1982.      To  produce  an  .eps file on a VAX for inclusion in LaTeX or
  1983.      WordPerfect you would type:
  1984.  
  1985.       $ cgle myfile /dev=eps
  1986.  
  1987.      On a PC you would type:
  1988.  
  1989.       C:\GLE> psgle myfile  /eps
  1990.       (this creates myfile.eps, not myfile.ps)
  1991.  
  1992.      Inside your LaTeX document use the LaTeX command:
  1993.  
  1994.       \graphin{myfile.eps}{12.0cm}{3.0cm}{1.0}
  1995.  
  1996.      The  width  and  height  are  used by LaTeX to reserve enough
  1997.      space  for  the  drawing  and  the last parameter is a scale
  1998.      factor.
  1999.  
  2000.      The  laser  printer  driver  will  draw all zero width lines
  2001.      .02cm  wide  for  any  line  width  equal to zero, but if an
  2002.      lwidth  is greater than zero and less than or equal to .0001
  2003.      then  it  will  use a line width of 1 pixel. Without this it
  2004.      would  be  impossible  to  specify  a line width that didn't
  2005.      occasionally get rounded to 2 pixels.
  2006.  
  2007. 3 TEK4010 
  2008.      This  driver  allows  initialization sequences to be defined
  2009.      with the symbols TEK_OPEN and TEK_CLOSE.
  2010.  
  2011.      On  a  VAX this is normally done by CGLECMD.COM so that when
  2012.      you  specify  /DEV=V550  the  assignments  are done for you.
  2013.      (V550 = Visual 550)
  2014.  
  2015. 3 HPGL 
  2016.      This  driver  allows  initialization sequences to be defined
  2017.      in  the  symbols  HPGL_OPEN  and  HPGL_CLOSE.  On the PC use
  2018.      environment  variables  and on the VAX use DCL symbols. Also
  2019.      HPGL_WIDTH  and  HPGL_HEIGHT  can  be  defined  for  non  A3
  2020.      plotters.
  2021.  
  2022.      HPGL_ADDX, HPGL_ADDY are margins for the lower left hand
  2023.      corner of the page,  defaults are .9cm and 1.5cm
  2024.  
  2025.      On  a  VAX this is normally done by CGLECMD.COM so that when
  2026.      you  specify  /DEV=HPA4  the  assignments  are done for you.
  2027.  
  2028.      The   HPGL  driver  assigns  the  following  colours  to  pen
  2029.      numbers:
  2030.  
  2031.      1=black,    2=red,    3=green,  4=blue,  5=magenta,  6=white
  2032.  
  2033. 3 dotmatrix
  2034.      GLE  supports the EPSON 8 and 24 pin and HP deskjet/laserjet
  2035.      printers.  To  support  bitmap devices which require a large
  2036.      amount  of memory GLE first writes a device independent file
  2037.      OUT.DVI,   then  the  appropriate  bitmap  driver  for  your
  2038.      printer  will  read  the  OUT.DVI  file  and create a bitmap
  2039.      which it then prints to LPT1:
  2040.  
  2041.       C:> dvigle myfile      (produces OUT.DVI)
  2042.       C:> dviprint -depson   (creates bitmap and prints to LPT1:)
  2043.  
  2044.      The output options are:
  2045.  
  2046.    Usage: dviprint [-depson | -dlj] [-old] [-hires] [-debug] [-output xx.prt]   
  2047.         -depson   To produce output for epson printers 
  2048.         -dwp      To add tiff image to wp .eps file 
  2049.         -dlj      To produce output for HP LaserJet printers 
  2050.         -dpj      To produce output for HP PaintJet printers 
  2051.         -over     Overhead transparency mode for PaintJet
  2052.         -old      For old HP Laser Jet printers (no compression)
  2053.         -hires    Uses high resolution for that printer (slower)
  2054.         -wide     If your printer has a wide carriage 
  2055.         -noflip   Disable's auto flipping 
  2056.         -nosquash Tries to print it full size
  2057.         -compress Force internal bitmap compression (slow,saves memory) 
  2058.         -noff     No form feed
  2059.         -debug    Prints debug messages
  2060.         -out x.x  Prints output to file instead of printer port
  2061.  
  2062.      The    high   resolution  drivers  (dviep24,  dvilj300)  are
  2063.      significantly  slower  than  the  low  resolution drivers so
  2064.      would only be used for final output.
  2065.  
  2066. 2 Fonts 
  2067.      font-name  Description 
  2068.      rm         Roman 
  2069.      rmb        Roman Bold 
  2070.      rmi        Roman Italic 
  2071.      ss         San Serif 
  2072.      ssb        San Serif Bold 
  2073.      ssi        San Serif Italic 
  2074.      tt         Typewriter 
  2075.      ttb        Typewriter Bold 
  2076.      tti        Typewriter Italic 
  2077.  
  2078.      font-name  Description 
  2079.      psagb      AvantGarde-Book 
  2080.      psagbo     AvantGarde-BookOblique 
  2081.      psbd       Bookman-Demi 
  2082.      psbdi      Bookman-DemiItalic 
  2083.      psbl       Bookman-Light 
  2084.      psbli      Bookman-LightItalic 
  2085.      psc        Courier 
  2086.      pscb       Courier-Bold 
  2087.      pscbo      Courier-BoldOblique 
  2088.      psco       Courier-Oblique 
  2089.      psh        Helvetica 
  2090.      pshb       Helvetica-Bold 
  2091.      pshbo      Helvetica-BoldOblique 
  2092.      psho       Helvetica-Oblique 
  2093.      psncsb     NewCenturySchlbk-Bold 
  2094.      psncsi     NewCenturySchlbk-Italic 
  2095.      psncsr     NewCenturySchlbk-Roman 
  2096.      pspr       Palatino-Roman 
  2097.      pstr       Times-Roman 
  2098.      psti       Times-Italic 
  2099.      pstb       Times-Bold 
  2100.      pstbi      Times-BoldItalic 
  2101.      pszcmi     ZapfChancery-MediumItalic 
  2102.      pszd       ZapfDingbats 
  2103.      pssym      Symbol 
  2104.  
  2105.      font-name  Description 
  2106.      texcmb     Computer Modern Bold 
  2107.      texcmex    Computer Modern Extensible 
  2108.      texcmitt   Computer Modern Italic Typewriter 
  2109.      texcmmi    Computer Modern Maths Italic 
  2110.      texcmr     Computer Modern Roman 
  2111.      texcmss    Computer Modern Sans Serif 
  2112.      texcmssb   Computer Modern Sans Serif Bold 
  2113.      texcmssi   Computer Modern Sans Serif Italic 
  2114.      texcmsy    Computer Modern Symbol 
  2115.      texcmti    Computer Modern Text Italic 
  2116.      texcmtt    Computer Modern Typewriter Text 
  2117.  
  2118.      font-name  Description 
  2119.      plcc       Complex Cartographic 
  2120.      plcg       Complex Gothic 
  2121.      plci       Complex Italic 
  2122.      plcr       Complex Roman 
  2123.      plcs       Complex Script 
  2124.      pldr       Duplex Roman 
  2125.      plge       Gothic English 
  2126.      plgg       Gothic German 
  2127.      plgi       Gothic Italian 
  2128.      plsa       Simplex Ascii 
  2129.      plsg       Simplex German 
  2130.      plsr       Simplex Roman 
  2131.      plss       Simplex Script 
  2132.      plsym1     Symbols one 
  2133.      plsym2     Symbols two 
  2134.      plti       Triplex Italic 
  2135.      pltr       Triplex Roman 
  2136.      plba       Block Ascii 
  2137.  
  2138.   Fonts (font mapping)
  2139.      By  default the generic fonts (rm, rmb, ss, tt etc) will all
  2140.      map  to  PLSR  (plotter  simplex  roman)  on BITMAP and HPGL
  2141.      drivers.  To  make  this  happen  on  other  drivers put the
  2142.      command  plotter fonts immediately after the size command at
  2143.      the top of the GLE file.
  2144.  
  2145.      A  typical  result of this change in fonts is that something
  2146.      that  lines  up  on the screen will not line up when printed
  2147.      to  an  EPSON  printer. If this happens then use the plotter
  2148.      fonts command.
  2149.  
  2150.      If  a  character  is  missing  from  a  font,  or  isn't the
  2151.      particular  variation  you  like, you can define a character
  2152.      to be from a different font in this way:
  2153.  
  2154.       \chardef{%}{{\setfont{texcmr}\char{37}}} 
  2155.       \chardef{[}{{\setfont{texcmr}\char{91}}} 
  2156.       \chardef{]}{{\setfont{texcmr}\char{93}}} 
  2157.  
  2158.      On  the  PC  some  fonts  may  not be installed to save disk
  2159.      space.  When  one  of  the  missing  fonts  is called for, a
  2160.      replacement  font  will be displayed, this may look terrible
  2161.      and   some  special  characters  may  be  completely  wrong.
  2162.  
  2163.      More  importantly  if you use a font which does not have its
  2164.      font  metric  file  installed  (e.g.  C:/GLE/FONTS/PLSR.FMT)
  2165.      then   the  PostScript  driver  will  space  the  characters
  2166.      incorrectly.    This    can  be  fixed  by  extracting  that
  2167.      particular    metric    file   from  the  distribution  file
  2168.      CGLE_FVE.ZIP using PKUNZIP.
  2169.  
  2170. 2 Clip
  2171.      It  is  possible to set up arbitrary clipping regions. To do
  2172.      this  draw  a  shape  and  make  it into a path by putting a
  2173.      begin  path  clip  ...  end  path,  around it. Then draw the
  2174.      things  to  be  clipped  by that region. To clear a clipping
  2175.      path  surround  the whole section of GLE commands with begin
  2176.      clip ... end clip
  2177.  
  2178.      Characters  can  be used to make up clipping paths, but only
  2179.      the  PostScript  fonts will currently work for this purpose.
  2180.  
  2181.       size 10 5 
  2182.       begin clip       ! Save current clipping path
  2183.          begin path clip stroke  ! Define new clipping region
  2184.         amove 2 2 
  2185.         box 3 3 
  2186.         amove 6 2 
  2187.         box 3 3 
  2188.          end path
  2189.          amove 2 2 
  2190.          set hei 3
  2191.          text Here is clipped text
  2192.       end clip         ! Restore original clipping path
  2193.  
  2194. 2 Variables
  2195.      GLE  has  two types of variables, floating point and string.
  2196.      String  variables  always  end  with a dollar sign. A string
  2197.      variable  contains  text  like  ``Hello  this  is  text'', a
  2198.      floating  point  variable  can  only  contain  numbers  like
  2199.      1234.234.
  2200.  
  2201.       name$ = "Joe"
  2202.       height = 6.5    ! Height of person
  2203.       shoe = .05      ! shoe adds to height of person
  2204.       amove 1 1
  2205.       box .2 height+shoe
  2206.       write name$   
  2207.  
  2208. 2 Functions
  2209.      Function Name              Returns 
  2210.      TIME$()                    current time e.g. ``11:44:27'' 
  2211.      DATE$()                    current date e.g. ``Tue Apr 09 1991'' 
  2212.      LEFT$(str$,exp)            left exp characters of str$ 
  2213.      RIGHT$(str$,exp)           rest of str$ starting at exp 
  2214.      SEG$(str$,exp1,exp2)       str$ from exp1 to exp2 
  2215.      NUM$(exp)                  string representation of exp 
  2216.      NUM1$(exp)                 as above but with no spaces 
  2217.      VAL(str$)                  value of the string str$ 
  2218.      POS(str1$,str2$,exp)       position of str2$ in str1$ from exp 
  2219.      LEN(str$)                  the length of str$ 
  2220.  
  2221.      Function Name              Returns 
  2222.      ABS(exp)                   absolute value of expression 
  2223.      ATN(exp)                   arctan 
  2224.      COS(exp)                   cosine 
  2225.      EXP(exp)                   exponent 
  2226.      FIX(exp)                   exp rounded towards 0 
  2227.      INT(exp)                   integer part of exp 
  2228.      LOG(exp)                   log to base e of exp 
  2229.      LOG10(exp)                 log to base 10 of exp 
  2230.      SGN(exp)                   returns  1  or -1.
  2231.      SIN(exp)                   sine of exp 
  2232.      SQR(exp)                   exp squared 
  2233.      TAN(exp)                   tangent of exp 
  2234.      NOT(exp)                   logical not of exp 
  2235.      RND(exp)                   random number from seed exp 
  2236.      SQRT(exp)                  square root of exp 
  2237.  
  2238.      Function Name              Returns 
  2239.      XEND()                     the x end point of a text string when drawn 
  2240.      YEND()                     the y end point of a text string when drawn 
  2241.      XPOS()                     the current x point 
  2242.      YPOS()                     the current y point 
  2243.      TWIDTH(str$)               the width of str$ assuming current font, size
  2244.      THEIGHT(str$)              the  height  of  str$ assuming current font, size 
  2245.      TDEPTH(str$)               the  depth of str$ 
  2246.      XG(xexp)                   converts units of last graph to abs cm. 
  2247.      YG(yexp)                   converts  units  of last graph to abs cm. tabular
  2248.  
  2249.  
  2250. 2 Changehelp
  2251.     If you change the help file, (graph.hlp) then you must re-create
  2252.     the help index file GRAPH.IDX, to do this simply type in 
  2253.         C:\GLE> makeidx
  2254.  
  2255. 2 Usage
  2256.     The command syntax depends largely on your system (UNIX,VMS,PC)
  2257.     but most of these qualifiers should work:
  2258.  
  2259.         /trace          Prints each line as it is executed
  2260.         /debug          For debugging purposes, use at own risk
  2261.         /drawit         To draw on screen directly from DOS.
  2262.         /nod            Don't add ^D's to postscript file.
  2263.         /addd           Do add ^D's to postscript file.
  2264.         /eps            Create Encapuslated Postscript file.
  2265.         /nomaxpath      Don't limit size of complex path's
  2266.         /out=a.ps       Specify output file (depends on device)
  2267.  
  2268.     e.g.
  2269.         (VAX) $ cgle test /dev=ps /trace        
  2270.  
  2271.         (PC) C:> psgle test /eps
  2272.  
  2273.         unix> gle test -dps /addd
  2274.  
  2275.    Environment variables (PC):
  2276.  
  2277.     To stop GLE from adding ^D characters to PostScript files use:
  2278.  
  2279.         C:> set gle_nocontrold=true
  2280.  
  2281.     If you want to put your BGI files in a different directory
  2282.     to GLE\EXE then:
  2283.  
  2284.         C:> set gle_bgi=c:\tc\bgi
  2285.  
  2286.     If you want to use a non standard BGI driver then define:
  2287.  
  2288.         C:> set gle_addbgi=4.svga256        (mode,filename)
  2289.  
  2290. 2 (end)
  2291. 1 (end)
  2292.